c25fa06ebfba1a541549ed4343b0ac4a76506c22,core/src/main/java/edu/berkeley/cs/succinct/regex/executor/SuccinctBwdRegExExecutor.java,SuccinctBwdRegExExecutor,regexRepeatOneOrMore,#RegEx#SuccinctRegExMatch#,343

Before Change



    repeatResults.addAll(concatResults);
    for (SuccinctRegExMatch concatMatch : concatResults) {
      HashSet<SuccinctRegExMatch> moreRepeats = regexRepeatOneOrMore(r, concatMatch);
      repeatResults = regexUnion(repeatResults, moreRepeats);
    }
    return repeatResults;
  }

After Change


   * @return The results for repeat.
   */
  private HashSet<SuccinctRegExMatch> regexRepeatOneOrMore(RegEx r, SuccinctRegExMatch rightMatch) {
    HashSet<SuccinctRegExMatch> repeatResults = new HashSet<>();
    if (rightMatch.empty()) {
      return repeatResults;
    }

    HashSet<SuccinctRegExMatch> concatResults = regexConcat(r, rightMatch);
    if (concatResults.isEmpty()) {
      return repeatResults;
    }

    repeatResults.addAll(concatResults);
    for (SuccinctRegExMatch concatMatch : concatResults) {
      repeatResults.addAll(regexRepeatOneOrMore(r, concatMatch));
    }
    return repeatResults;
  }